<template>
	<div class="box">
		<h2>用户名</h2>
		<el-input placeholder="请输入用户名" v-model="ipt" clearable class="ipt">
		</el-input>
		<h2>密码</h2>
		<el-input placeholder="请输入密码" v-model="ipt1" show-password class="ipt">
		</el-input>
		<h2>昵称</h2>
		<el-input placeholder="请输入昵称" v-model="ipt2" clearable class="ipt">
		</el-input>
		<h2>头像</h2>
		<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false"
		 :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
			<img v-if="imageUrl" :src="imageUrl" class="avatar">
			<i v-else class="el-icon-plus avatar-uploader-icon"></i>
		</el-upload>
		<br>
		<el-button type="success" @click="addusers()">添加用户 </el-button>
	</div>
</template>

<script>
	import * as api from '../api/User.js'
	export default {
		name: 'adduser',
		data() {
			return {
				ipt: '',
				ipt1: '',
				ipt2: '',
				imageUrl: ''
			}
		},
		methods: {
			handleAvatarSuccess(res, file) {
				this.imageUrl = URL.createObjectURL(file.raw);
			},
			beforeAvatarUpload(file) {
				const isJPG = file.type === 'image/jpeg';
				const isLt2M = file.size / 1024 / 1024 < 2;
				if (!isJPG) {
					this.$message.error('上传头像图片只能是 JPG 格式!');
				}
				if (!isLt2M) {
					this.$message.error('上传头像图片大小不能超过 2MB!');
				}
				return isJPG && isLt2M;
			},
			addusers() {
				api.adduser({
					userName: this.ipt,
					password: this.ipt1,
					nickName: this.ipt2,
					avatar: this.imageUrl
				}).then(res => {
					if (res.data._id) {
						alert('添加成功')
						this.ipt = ''
						this.ipt1 = ''
						this.ipt2 = ''
						this.imageUrl = ''
					}
					if (res.data.code == 'error') {
						alert('用户名已存在')
					}
				})
			}
		}
	}
</script>
<style scoped="">
	.ipt {
		width: 300px;
	}
	.avatar-uploader .el-upload {
		border: 1px dashed #d9d9d9;
		border-radius: 6px;
		cursor: pointer;
		position: relative;
		overflow: hidden;
	}
	.avatar-uploader .el-upload:hover {
		border-color: #409EFF;
	}
	.avatar-uploader-icon {
		font-size: 28px;
		color: #8c939d;
		width: 178px;
		height: 178px;
		line-height: 178px;
		text-align: center;
	}
	.avatar {
		width: 178px;
		height: 178px;
		display: block;
	}
</style>
